#include <stdio.h>

// 判断该计算机在内存存储数据用的是大端存储还是小端存储
// 大段存储: 数据在内存里面高位放低地址,低位放高地址
// 小段存储: 数据在内存里面低位放低地址,高位放高地址
// 那我们如何通过程序来判断我们的计算机是大端存储还是小端存储,用的就是这两个性质
// 我们知道,不同的数据类型在强制转换的时候,会出现截断现象
// 就是长度不同的数据就会发生截断,比如int类型强转为char类型就会从低地址开始,高地址的三个字节会被截断
// 那就是说: 我们用一个int的类型变量存放数据,关注它的低位的数据,将它强转为char类型再打印,就可以得知计算机是大端还是小端了

int check_sys ()
{

    int a = 1 ;

    if (*(char*) &a == 1) // &a == int*
    {

        return 1 ;

    }

    else 
    {

        return 0 ;

    }

}

int main ()
{

    if (check_sys () == 1)
    {

        printf ("是小端存储\n") ;

    }

    else
    {

        printf ("是大端存储\n") ;

    }

    return 0 ;

}